package com.gzz.orchid.common.webmvc.interceptor;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author higmd
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Idempotent {
    /**
     * 用于拼接幂等性判断的key的入参字段
     *
     * @return
     */
    String[] fields();

    /**
     * 用于接口幂等性校验的Redis中Key的过期时间，单位毫秒
     *
     * @return
     */
    long timeout() default 1000L;
}
